import 'dart:math';

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      // ThemeData 是flutter用于定义应用主题样式的类
      // 你可以通过它设置颜色、字体、按钮样式等全局风格。
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.red), // 主色
        brightness: Brightness.light, // 亮色主题
        fontFamily: 'Roboto', // 字体
        useMaterial3: true, // 建议开启Material3
        appBarTheme: const AppBarTheme(
          backgroundColor: Colors.red, // 背景色
          foregroundColor: Colors.black, // 字体颜色
        ),
      ),
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Flutter app'),
          //backgroundColor: Theme.of(context).colorScheme.primary, // 强制使用主题颜色
        ),
        body: MyHomePage(),
      ),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    /**
     * Card 是flutter用于展示内容为卡片式控件，具有圆角和阴影效果，常用于分组展示信息
     * 
     * Widget 是所有界面元素的基类。
     * 无论是文本、按钮、图片、布局容器，还是你自定义的控件，都是Widget的子类。
     * Text 文本显示
     * Container 容器布局
     * Row、Column 线性布局
     * Stack 层叠布局
     * Card 卡片
     * ListView 列表
     * Scaffold 页面结构
     * AppBar 应用栏
     * 
     * 可以通过组合和嵌套各种Widget，构建出丰富的界面。
     * 自定义Widget只需继承StatelessWidget或StatefulWidget。
     */
    return ListView(
      children: [
        Card(
          elevation: 10, //阴影深度
          // shape: RoundedRectangleBorder(
          //   borderRadius: BorderRadius.circular(20), // 圆角
          // ),
          child: const Column(
            children: [
              ListTile(
                title: Text("张三", style: TextStyle(fontSize: 28)),
                subtitle: Text("高级软件工程师"),
              ),
              Divider(),
              ListTile(title: Text("电话：xxxxx")),
              ListTile(title: Text("北京市海淀区 xxx")),
            ],
          ),
        ),
        const SizedBox(height: 20),
        const Card(
          elevation: 10,
          color: Colors.grey, // 背景色
          child: Column(
            children: [
              ListTile(
                title: Text("李四", style: TextStyle(fontSize: 28)),
                subtitle: Text("Flutter软件工程师"),
              ),
              Divider(),
              ListTile(title: Text("电话：xxxxx")),
              ListTile(title: Text("北京市海淀区 xxx")),
            ],
          ),
        ),
        const SizedBox(height: 10),
        Card(
          elevation: 20,
          color: Colors.orange,
          child: Padding(
            padding: EdgeInsets.all(20),
            child: Text('你好，Flutter！'),
          ),
        ),
      ],
    );
  }
}
